In the rapidly developing area of computer interconnecting technology and the Internet there is a need to provide systems and methodology that enable clients using one type of specialized protocol to communicate with other clients having different protocols. Earlier network technologies and even the majority of present network technologies involve slow and complex software systems and methods in order to enable a client with one type of protocol to communicate with another client having a different type of protocol, or with terminals having other protocols such as that used for FAX machines or still other protocols used for telephones. These software systems and methods often involve long, drawn-out translation procedures which are slow, cumbersome and subject to reliability problems.
It would be desirable to provide a network system where any client, no matter what type of format is being used, could create, originate or author a document and enable this document to be transmitted and received by clients having different types of formats; and, also to have such a document receivable by appliances such as FAX machines or telephones. Heretofore, this has not been done with any great degree of efficiency. That is, an originator or author could not create a text or message in his own personal computer format and send it to multiple receiver users, or multiple receiver appliances without any further complications. Such a system and methodology is now possible with the use of the method of the present invention.
Thus, it is an object of the present invention to provide a method for driving a database that solves the problem of transforming incoming files into objects for storage in the database and organizing the transformed files into a hierarchy of objects in accordance with the type and content of such incoming files for storage in the database.
Another object of the present invention is to use the MIME (Multi-Purpose Internet Mail Extension) standard for a file system by employing such standard as the basis for an object database schema.
Yet another object of the present invention is to provide an object database schema that mimics a file system, thereby creating a virtual file system that employs the full categorization technique used by the MIME standard.
A feature of the present invention is that by using an object database system, the object paradigm can be exploited to create a highly modular and extensible system. Extensions can easily be made after system deployment to track changes in standards (e.g., new MIME types and subtypes). Moreover, additional modules can easily be developed and integrated with the virtual multi-media file system to address new content management requirements.
Another feature of the present invention is that by following the MIME standard, the virtual multi-media file system allows content to be represented in a way that allows easy communication across the Internet. That is, even though the MIME standard is not intended for classifying files, doing so makes it easy for files to be sent/received over message-oriented protocols on the internet. Consequently, using the MIME standard for virtual files makes it easy to send and receive data using message-oriented protocols even though the content is obtained from or stored into files, which can be subsequently accessed via file-oriented protocols.
Still another feature of the present invention resides in the provision of accurate identification of a file's content type (i.e., a virtual file object possesses more and better information about its content than a "real" file); the ability to verify that a file's content conforms to its labeling; i.e., each virtual file class can have a method which verifies that a given file's content is correct according to its MIME type/subtype (if a file's content is incorrect, a list of errors can be returned to the author); and, the ability to intelligently search a file for specific content (e.g., text, image, etc.) regardless of its format (i.e., methods can be defined which allow all files to be searched for text--image files can be searched within their narrative text or in text boxes--audio files can be searched for the "speech equivalent" of the given text --video files can be searched both in the audio track and within subtitles, etc.).
An advantage of the present invention is that by the use of "virtual" files instead of real files (i.e., the operating system files), the user is not bound to the operating systems' inherent limitations. For example, system files cannot be assigned a MIME type and subtype, which is a permanent record of the file. By using database objects as "virtual" files, we can assign them all of the properties of a system file plus whatever extra properties the user wishes them to have.
Another advantage of the present invention is that by using an object database, virtual file objects can be interconnected with bi-directional references based on actual content interdependencies (e.g., sub-documents, linked documents, etc.). These interconnections can be exploited in several ways, including but not limited to:
the deletion of a file that is referenced by another file can be disallowed; PA1 a file's dependency graph can be determined and reported on--a file's dependency graph is the file and the set of all files that it uses (or are otherwise required to "render" the file); PA1 virtual file objects can be interconnected to create version trees, which represent "original" files and various versions of each file, each of which represent updates; PA1 a virtual file can be extracted along with the set of files on which it is dependent (i.e., the files in its dependency graph)--this allows a file to be easily distributed along with the set of files which are required to render or otherwise use it; PA1 a virtual file can be converted from one file format to another (e.g., RTF to PostScript) or even into non-file oriented formats (e.g., mail messages); and, PA1 a virtual file can be made available via a wide range of protocols (FTP, HTTP, mail, news, etc.), allowing the same information to be disseminated in multiple ways without replication or manual conversion.
Yet another advantage of the present invention is that by using a portable (i.e., multi-platform) database system, virtual files can have the same interface regardless of the operating system used. For example, file name length and maximum file size can be consistent despite different conventions and limitations between the operating systems used.
Still another advantage of the present invention is that by the use of an object database management system greater security, integrity and recoverability is accomplished than would normally be received in a "real" file system.